Стандарт SCP-ECG в программных системах для электрокардиографии

В.А. Плотников, Д.А. Прилуцкий, С.В. Селищев

Московский институт электронной техники, Зеленоград

Одним из первых направлений применения цифровых электронно-вычислительных машин в медицинской диагностике была электрокардиография. С помощью специальных блоков аналогово-цифрового преобразования к большим ЭВМ подключался один или несколько электрокардиографов — зачастую это делалось по коммутируемым телефонным линиям. Таким образом ЭВМ осуществляла ввод электрокардиограммы, как правило, это 12 стандартных отведений или отведения по Франку, сохранение ЭКГ в долговременной памяти, нахождение и измерение репрезентативного комплекса, выдачу электрокардиографического заключения. Подобные системы могли себе позволить только исследовательские центры при крупных клиниках. Эффективность применения ЭВМ в электрокардиографии постоянно обсуждалась. В качестве основных аргументов против их использования приводилась высокая стоимость компьютерных ЭКГ систем, большие эксплуатационные расходы, некорректность автоматизированных измерений и заключений, отсутствие совместимости между различными системами.

На настоящий момент персональные компьютеры с современными операционными системами обеспечивают широкую доступность компьютерных электрокардиографов. Разработка ряда рекомендаций по цифровой клинической электрокардиографии позволяет унифицировать и объективизировать процесс регистрации ЭКГ, ее измерения и постановку заключений. Однако в решении проблем совместимости компьютерных электрокардиографов на уровне обмена данными за последние 30 лет серьезных изменений не произошло. Крупные фирмы–производители ЭКГ приборов (Siemens, Hewlett Packard, Fukuda, NEC, Oxford, Del Mar и т.д.) разработали свои корпоративные стандарты, которые практически все являются закрытыми, т.е. не доступными для применения в системах других производителей. Отдельные медицинские организации включили возможности обмена электрокардиограммами в свои отраслевые информационные стандарты — в радиологии это DICOM 3.0, в обмене общеклинической информацией HL7 и т.д. Тем не менее последние не являются специализированными рекомендациями для электрокардиографии и поэтому не обеспечивают специальные требования представления ЭКГ, результатов измерений и анализа. Сейчас наиболее проработанным для обмена цифровыми ЭКГ считается стандарт SCP-ECG, разработанный Европейским институтом стандартизации (CEN).

Стандарт SCP-ECG комитета CEN/TC 251 для обмена цифровыми ЭКГ

Документ ENV1064 является официальным стандартом SCP-ECG (Standard communications protocol for computerized electrocardiography) Европейского Союза, разработанным под эгидой технического комитета TC 251 Европейского Комитета по Стандартизации (CEN). ENV1064 устанавливает единый протокол передачи ЭКГ данных как между цифровым электрокардиографом и компьютеризированной системой управления, так и между компьютерными системами различных производителей. Стандарт SCP-ECG не накладывает ограничений на физический уровень протокола, а лишь определяет минимально необходимые требования. Он же регламентирует некоторые соглашения по передаче других данных: сведений о пациенте, результатов анализа ЭКГ, условиях проведения измерений и т.д.

Кодирование данных согласно протоколу SCP-ECG

Документ ENV1064 разбивает логическую последовательность ЭКГ данных (запись) на секции и описывает содержание и формат представления каждой секции. Начало каждой секции находится по четному адресу (смещению от 0). Т.о. все секции содержат четное количество байт — при необходимости секция дополняется нулевым байтом. Все секции имеют идентификационные номера (ID). Номера от 0 до 11 описаны в SCP–ECG протоколе (Табл. 1), номера от 12 до 127 и номера более 1024 включительно зарезервированы для будущего использования. Номера от 128 до 1023 предназначены для специфических секций производителей ЭКГ устройств.

Табл. 1 Общий формат записи в стандарте SCP-ECG

Наличие

Содержание

Обязательно

2 байта
Контрольная сумма CRC16 всех секций и размера всей записи

Обязательно

4 байта
Размер всей записи в байтах

Обязательно

Секция 0
Список указателей на начало каждой последующей секции

Обязательно

Секция 1
Данные о пациенте (имя, идентификатор, пол, дата рождения и т.д.);
данные об обследовании (дата, время, условия и т.д.)

Необязательно

Секция 2
Все таблицы Хафмена(при кодировании по Хафмену) для распаковки исходного сигнала (Секция 6) или репрезентативного комплекса (Секция 5) и разностного сигнала (Секция 6) в режиме "высокой компрессии"

Необязательно

Секция 3
Перечисление отведений, переданных в текущей записи, а так же общей информации об их кодировании

Необязательно

Секция 4
Расположение QRS комплексов
(только в режиме "высокой" компрессии)

Необязательно

Секция 5
Для каждого отведения репрезентативный комплекс

Необязательно

Секция 6
Для каждого отведения исходный сигнал или, при использовании медианного кодирования, разностный сигнал, полученный путем вычитания репрезентативного комплекса из исходного сигнала

Необязательно

Секция 7
Общие для всех отведений измерения каждого комплекса в записи (длительности, углы поворота электрических осей и т.д.) и список артефактов от искусственного водителя ритма.

Необязательно

Секция 8
Текстовый диагноз от "интерпретирующего" устройства

Необязательно

Секция 9
Диагностические данные, специфичные для производителя

Необязательно

Секция 10
Измерения, произведенные для каждого отведения отдельно (амплитуды, длительности и т.д.)

Необязательно

Секция 11
Унифицированное закодированное заключение

Под репрезентативным комплексом понимается усредненный или наиболее типичный из всех найденных комплексов во всей записи ЭКГ. Вместе с желудочковым QRS комплексом в репрезентативном комплексе присутствует зубец P (не в случае фибриляции предсердий) сегмент S-T и зубец T.

В секциях 5 и 6 при кодировании цифровых сигналов допускается представлять их в виде оригинальных отсчетов, первого или второго дифференциала.

В секции 11 используется система стандартных кодировок для получения унифицированного заключения. В отличие от этого в секции 8 необходимо сохранять заключение в текстовом виде. Секция 9 предназначена для записи уникальных диагностических данных, неспецифицированных в описываемом стандарте. Если любая из секций 8,9 или 11 присутствует, то не предполагается, что все три секции присутствуют.

Секции 2-11 опциональны. Любая SCP–ECG запись должна в обязательном порядке содержать только технологическую секцию 0 (список указателей на начало каждой последующей секции) и секцию 1 (данные о пациенте; данные об обследовании). Предполагается наличие в записи и других секций, но проверка их присутствия не производится.

ECG запись начинается с 6-ти байтного заголовка, содержащего 2-х байтную контрольную сумму CRC16 и 4-х байтную длину всей записи

Последовательность секций в записи свободная, однако Секция 0 всегда обязана находится после заголовка записи.

Каждая секция состоит из:

o        идентификационного заголовка секции:

o        части данных секции.

Идентификационный заголовок секции содержит:

o        2-х байтную контрольную сумму CRC16–CCITT всей секции за исключением этих 2-х байт;

o        в 2-х байтах ID секции;

o        4-х байтную длину всей секции, включая ее идентификационный заголовок;

o        номер версии секции в одном байте;

o        7 зарезервированных нулевых байт.

Сжатие ЭКГ сигнала

Одной из главных целей при работе над проектом SCP-ECG состояла в том, чтобы определить пределы точности и спецификации для сжатия электрокардиограмм, а так же унифицировать кодирование данных таким способом, при котором сжатая ЭКГ может быть передана и заново проанализирована в системах различных изготовителей.

Стандартом определены три категории схем сжатия информации ЭКГ (Табл. 2).

Табл. 2 Категории схем сжатия ЭКГ согласно SCP-ECG

Категория

Описание

A

Только результаты измерения и диагностические заключения должны быть сохранены или переданы из первоначального отчета ЭКГ.

B

Результаты измерения, диагностических заключения и репрезентативный комплекс с разностным сигналом (полученным вычитанием из исходного сигнала репрезентативного комплекса), из которых может быть реконструирована первоначальная ЭКГ с погрешностями не превышающие установленные

C

Результаты измерения, диагностических заключения и сжатый сигнал ЭКГ. Репрезентативный комплекс (как промежуточный результат процесса кодирования) так же может быть сжат, сохранен и передан.

Одновременно должна быть произведена регистрация по крайней мере восьми отведений ЭКГ I, II, V1, V2, V3, V4, V5, V6. Минимальные численные требования к процессу кодирования и декодирования ЭКГ сигнала представлены в Табл.3.

Табл. 3 Минимальные численные требования к процессу кодирования и декодирования ЭКГ сигнала согласно SCP-ECG

Параметр

Значение

Минимальная частота представления сигнала

не менее 500 отсчетов в секунду

Минимальное разрешение на уровне младшего значащего разряда

не более 5 мкВ

Абсолютная амплитудная погрешность для разностного сигнала

не более 15 мкВ

Абсолютная временная неопределенность для разностного сигнала

не более 15 мкВ

Среднеквадратичный шум после восстановления

не более 10 мкВ

Абсолютная погрешность любого отсчета вне P-QRS-T комплекса

не более 100 мкВ

Абсолютная погрешность любого отсчета в пределах QRS комплекса

не более 15 мкВ

Допускается представление сигнала с разрешением не менее 5 микровольт. Поэтому предварительным этапом сжатия может быть уменьшение в исходной последовательности отсчетов сигнала ЭКГ количества значащих разрядов, вплоть до приведения значения младшего разряда к величине в 5 микровольт.

Для достижения максимальной эффективности стандарт описывает т.н. режим “высокой компрессии” (в стандарте — "high compression"), как альтернатива обычному кодированию. Сжатие цифровой ЭКГ в режиме “высокой компрессии”, согласно SCP-ECG, основано на выделении QRS комплексов, а так же опорных точек на них — как правило, это вершины максимально высоких зубцов (R или S). Далее, найденные комплексы по одному из критериев подобия (часто на основе вычисления функций корреляции) разбиваются на условные классы: нормальные комплексы и различные виды экстрасистол. Среди наиболее многочисленного класса выбирается один репрезентативный комплекс или, что предпочтительнее, он формируется статистически на основе усреднения всех комплексов класса. Полученный репрезентативный комплекс вычитается из всех смежных с ним QRS комплексов (комплексов его же класса) исходного сигнала. В типичной ЭКГ это, естественно, будет нормальный желудочковый комплекс после вычитания которого останутся нетронутыми участки сигнала с экстрасистолами и артефактами. При этом нормальные комплексы заметно "сгладятся". В результате получится разностный сигнал, который в общем случае возможно представить меньшим количеством байт, чем оригинальную ЭКГ. Репрезентативный комплекс при вычитании совмещается с сигналом по найденным ранее опорным точкам (их расположение сохраняется в секции 4).

Далее, при обычном кодировании в исходном сигнале, а в режиме “высокой” компрессии разностном сигнале еще более уменьшается количество данных:

1.     Производится низкочастотная фильтрация (за исключением участков с любыми QRS комплексами). Для фильтрации используется простой медианный фильтр 9-го порядка:
Yi = (Xi-4+Xi-3+Xi-2+Xi-1+Xi+Xi+1+Xi+2+Xi+3+Xi+4+4)/9 ,
где Xi и Yi соответственно отсчеты нефильтрованного и фильтрованного сигналов.

2.     Производится прореживание (децимация) до 8 миллисекунд между отсчетами (за исключением участков с любыми QRS комплексами) на основе вычисления среднего значения между исключаемыми и остающимися отсчетами.

3.     В полученных данных производится вычисление первого или второго дифференциала (второй разности) по формулам:
D 1i = Xi+1-Xi;
D 2i = D 1i+1 -D 1i = Xi+2-2*Xi+1+Xi. ,
где Xi отсчеты сигнала, а
D 1i и D 2i соответственно первый и второй дифференциал.

Полученный массив данных, а так же второй дифференциал от репрезентативного комплекса, сжимаются на основе кодирования по Хаффмену (Huffman). Результат сохраняется в Секциях 6 и 5 соответственно. Таблицы Хафмена сохраняются в Секции 2.

Декодирование сигнала происходит в обратном порядке :

4.     Декодирования согласно таблицам Хафмена.

5.     Реконструкция сигнала на основе первого или второго дифференциала.

6.     Восстановление прореженных отсчетов сигнала на основе линейной интерполяции

7.     Низкочастотная фильтрация для сглаживания сигнала после реконструкции отсчетов. Для фильтрации используется простой медианный фильтр 3-го порядка:
Yi = (Xi-1+Xi+Xi+1+1)/3.

8.     Восстановление амплитудных значений до исходного уровня.

9.     Для сигнала сжатого в режиме “высокой компрессии” производится сложение репрезентативного комплекса со всеми QRS комплексами наиболее представительного класса; синхронизация комплексов осуществляется согласно опорным точкам на репрезентативного комплексе и комплексах разностного сигнала.

Из последовательности операций декодирования видно, что по сравнению с кодированием добавляется этап низкочастотной фильтрации для "сглаживания" сигнала после восстановления пропущенных при децимации отсчетов.

В документе ENV1064 представлены результаты тестового кодирования–декодирования 13 десятисекундных электрокардиограмм пациентов с нормой и различными видами патологий. Частота оцифровки ЭКГ 500 Гц, квантование по амплитуде соответствует 5 микровольтам на уровне младшего значащего разряда. Не сообщается об достигнутом коэффициенте сжатия — для каждой записи лишь приводятся значения погрешностей, внесенных процессом сжатия: абсолютная максимальная и среднеквадратичная ошибки. Значение абсолютной максимальной ошибки восстановления имеет разброс от 16 до 89 микровольт, а среднеквадратичной от 5 до 9.8 микровольт, при начальном уровне собственных шумов на ЭКГ от 3 до 26 микровольт.

 

Универсальные электрокардиографический код для интерпретации

Секция 11 предназначена для сохранения унифицированных закодированных заключений на основе Универсальной кодировки, отдельных текстовых заключений, а так же отношений между различными заключениями. Количество заключений в секции не ограничивается. Все типы заключений представляют из себя текстовые строки, оканчивающиеся символом с нулевым кодом (NULL). Пример строки отношения между заключениями имеющими порядковые номера 1, 2 и 3: "(1+2);3", где символ "+" эквивалентен логическому ИЛИ, “;" – логическому И, а скобки "(…)" устанавливают очередность интерпретации выражения.

Наиболее значимыми в секции 11 являются заключения на основе Универсальной кодировки. Кодировка позволяет формализовать и стандартизировать основную массу рутиных ЭКГ заключений, обеспечить их гибкое и компактное хранение, а так же абстрагироваться от проблем представления на различных языках. Заключение на основе Универсальной кодировки состоит из следующих полей:

до 5-ти байт мнемоники, определяющей ЭКГ заключение;

1 или 2 байтов, устанавливающих степень вероятности указанного ЭКГ заключения, например, "DE" – определенно, "PS" – возможно, "UN" – неизвестно и т.д.;

любого количества 2 байтных полей, каким-либо образом модифицирующих заключение — определяющие возраст ишемических изменений ST-T сегмента ("OL" – старый, "EV" – прогрессирующий…), уточняющих ритм ("SI" – синусовый , "AT" – атриовентрикулярный…) и т.д.

Поля отделяются друг от друга символами подчеркивания “_”. Основной диагностический код должен быть первым. Вторым идет модификатор, показывающий степень вероятности утверждения. Возможно использование модификаторов уверенности с любым другим модификатором определяющим ЭКГ. К примеру, строка " AMI_PR_AC_PR" означает —"Вероятен передне-перегородочный инфаркт миокарда, возможно острая стадия."

Различные утверждения (группы полей) в заключениях могут отделяться точкой с запятой “;”. В этом случае они будут автоматически нумероваться декодировщиком по мере нахождения в строке — далее возможно их использование с различными конъюнктивными (соединительными) термами. Определены конъюнктивные термы — арифметические (ADD – добавить, MAX – выбрать максимальное значение и т.д.), логические (EQU – равно, IGE – больше или равно и т.д.) и различные вспомогательные (DEC – уменьшить для предыдущей записи, ASS – ассоциировать с… и т.д.).

В основу мнемоник для кодирования терминологии ЭКГ заключений положены рекомендации Общего Стандарта для Количественной Электрокардиографии, а так же отчеты, опубликованные в Американском Журнале Кардиологии. Мнемоники охватывают практически весь возможный спектр ЭКГ заключений от описания репрезентативного комплекса и основного ритма до спецификации вживленного электростимулятора на основе международной классификации. Вот примеры нескольких возможных заключений:

o        "AMI_OL_PR; AFIB" — "Вероятен старый передне-перегородочный инфаркт миокарда и фибриляция предсердий".
Утверждение AFIB не имеет никакого прямого соотношения к AMI, следовательно конъюнкция не используется. Имеются фактически два независимых утверждения, одно базируется на анализе контура QRS, другое на анализе ритме.

o        "LVH_PR_AND_STT_LV" — "Возможна гипертрофия левого желудочка совместно с изменением сегмента ST-T"
Конъюнкция выполняется в пределах одного утверждения.

o        "LVH_PR;AND;STT_LV" — "Возможна гипертрофия левого желудочка. Изменения сегмента ST-T совместимы с гипертрофией левого желудочка."
Здесь AND между утверждениями показывает их взаимосвязь.

Допускается в заключениях констатировать и численные критерии. Для этого предусмотрен ряд мнемоник, описывающих основные параметры ЭКГ комплекса (P – длительность зубца P, QRS – длительность желудочкового комплекса, ST20 – амплитуда через 20 мсек. после точки J и т.д.), отведения (D1, aVR, V1 и т.д.) и единицы измерения. Пример: " (MAX_R_AMP_ADD_MAX_S_AMP)_INN_V_LEADS_IGT_4.5_MVOLT" — "Сумма максимальных амплитуд в зубцах R и S грудных отведений более 4.5 мВ"

Минимальный набор сообщений для обмена данными ЭКГ

Документ ENV1064 определяет минимальный набор сообщений, на основе которого устройства, поддерживающие подмножество стандарта SCP-ECG могут обмениваться данными.

Каждое сообщение представляет из себя последовательность из 256 байт. Первый ASCII символ (байт) в блоке определяет тип сообщения :

o        "I" — идентификация устройства; определяет тип устройства и его производителя, уровень поддержки протокола, поддерживаемые текстовые кодировки, частоту основной помехи (50/60 Гц), IP адрес (Internet адрес) и т.д.

o        "R" — запрос; содержит цель запроса (получить список ЭКГ для пациента, отослать ЭКГ и т.д.) и может включать подзапросы с требованием предоставить информацию со списком пациентов, списком ЭКГ исследований, месте и времени проведения исследования; при заполнении полей идентификатора пациента и имени пациента для задания маски групповой выборки возможно использование символов “*” (при поиске, заменяется на любое количество) и “?” (при поиске, заменяется на любой единичный символ).

o        "S" — статус; выдает состояние кода ошибки после выполнения последней операции

o        "A" — информационный; фактически, это текстовый комментарий, не оказывающий влияние на обмен данными; к примеру: "Идет тестирование аппарата. Подождите 10 секунд"

o        "D" — завершение обмена

В сообщении типа "R" возможна передача пароля. Из соображений безопасности, любой запрос должен обработаться, только если обмен паролями двух поддерживающих связь систем был произведен успешно.

В таблице 5 приведен пример последовательности обмена сообщениями при передаче от электрокардиографа на станцию обработки данных ЭКГ исследования. Обмен инициируется электрокардиографом. Информационные сообщения, переданные станцией, служат для иллюстрации их возможностей при обмене.

Низкоуровневый транспортный протокол для обмена данными между цифровыми электрокардиографами и компьютерными системами.

Стандарт SCP-ECG не накладывает ограничений на физический уровень протокола, а лишь устанавливает минимально необходимые требования. Так для установки местного соединения рекомендуется использовать последовательный интерфейс RS-232C, а для удаленного — обыкновенные телефонные коммутируемые линии. В этом случае в качестве низкоуровневого протокола выступает расширенный XMODEM.

Спецификация низкоуровневого транспортного протокола для обмена ЭКГ между цифровыми электрокардиографами и специализированными компьютерными системами состоит из двух частей :

o        физического уровня;

o        уровня подсоединения.

Физический уровень определяет минимальные требования к локальному и удаленному подключению. Так при локальном соединении используется подключение типа точка–точка (point to point). Удаленное подключение осуществляется через коммутируемые телефонные линии или их эквиваленты.

Локальное подключение обеспечивается по последовательному порту RS232C. При этом скорость передачи должна составлять 9600 бод при восьмибитовой посылке. Передача осуществляется с одним стоповым битом. Контроль четности должен быть отключен.

Удаленное подключение требует использование V.22bis модема, разрешенного к применению в соответствующей стране. Стандарт V.22bis определяет соединения на скорости 2400 бод для полностью дуплексного (двунаправленного) асинхронного модема. Уровень коррекции ошибок MNP5 не является обязательным, при обмене он включается дополнительной функцией.

Производители могут обеспечивать другой физический уровень. Стандарт лишь определяет уровень физического подключения, при котором различные производители обеспечат совместимость своих будущих систем минимально увеличив их стоимость.

Уровень подсоединения определяет принцип коррекции ошибок и арбитраж соединения при передаче ЭКГ. Этот уровень определяет минимальные требования для установления соединений и никоим образом не затрагивает физическую реализацию подключения. Уровень подсоединения представляет из себя модифицированную версию XMODEM. В документе ENV1064 приводится ряд отличий от стандарта XMODEM (укороченный тайм–аут, фиксированный размер блока в 256 байт и т.д.), а так же описываются виртуальные передающие и приемные машины, приводятся диаграммы состояний для различных режимов работы этих машин.

Поддержка многоязыковой среды

Одной из задач разработчиков стандарта SCP-ECG было обеспечить возможность его локализации. Не случайно большое внимание уделено вопросу представления алфавитно–цифровой информации. Ведь в текстовом виде представлены данные в ряде полей Секции 1 (Данные о пациенте; данные об обследовании) и целиком данные Секции 8 (Текстовый диагноз от “интерпретирующего” устройства).

За основу были взята структура 8-ми битного ISO кодирования символов по международному стандарту ISO 8859. Согласно этому стандарту из общей 256-ти символьной таблицы выделяются четыре условные части —левая таблица из 94 символов и правая из 96 символов, а так же две таблицы управляющих символов. По умолчанию предполагается, что в левой таблице отображается левая часть набора символов ISO 8859-1, более известного как ASCII (ANSI X3.4-1968), а в правой таблице правая часть ISO 8859-1. При работе с национальными алфавитами, имеющими символы, по начертанию отличные от латинских, или имеющие другую кодировку, возможна замена любой части общей таблицы на одну из перечисленных в стандарте SCP-ECG. Предусмотрена возможность загрузки в правую часть таблицы одного из пяти латинских наборов символов (ISO 8859-1 — ISO 8859-4, ISO 8859-9), кириллического (ISO 8859-5), арабского (ISO 8859-6), греческого (ISO 8859-7) или иудейского (ISO 8859-8). Возможно использование и расширенных наборов символов (двойной набор в левой таблице и оригинальная управляющая таблица) для представления Китайского (GB2312-1980), Японского (JIS X0203-1983) и Корейского (KS C5601-1987) письма. Управление многоязыковой поддержкой, фактически переключение таблиц символов, определено в соответствии со стандартом ISO 2022.

Определены символы управления, соответствующие стандартам ISO 646-1983 и ISO 4873-1986. Для управления форматом представления текста предусмотрены: пробел, горизонтальная и вертикальная табуляции, перевод строки и “возврат каретки”. Управляющие последовательности в текст вставляются при помощи специального символа — Esc (десятичный код 11). При необходимости вставить в строку непредставленный в текущей кодировке символ, используется обратная косая черта и следующий за ней десятичный код символа в текстовом виде.

Уровни совместимости

Документ ENV1064 определяет различные категории совместимости устройств, поддерживающих SCP-ECG:

o        Категория 1. Обеспечивается минимально допустимая совместимость со стандартом. Должны поддерживаться Секции 0, 1, 7 и 8. Данные передаются в виде файла или посредством низкоуровневого протокола XMODEM через порт RS232C.

o        Категория 2. Должны поддерживаться Секции 0, 1, 3, 5 7 и 8. Данные передаются в виде файла или посредством низкоуровневого протокола XMODEM через порт RS232C или любой другой стандартный интерфейс.

o        Категория 3. Самый высокий уровень совместимости со стандартом SCP-ECG. Система соответствующая этой категории совместимости должна поддерживать все Секции от 0 до 8, а так же секции 10 и 11. Данные передаются через файл или любой стандартный коммуникационный интерфейс включая XMODEM поверх порта RS232C.

o        Категория 4. Системы этой категории поддерживают совместимое с SCP-ECG представление всех Секций, но могут содержать специфические данные, добавленные производителем, к примеру: секцию 9, другие таблицы Huffman или нестандартную схему кодирования ЭКГ сигнала. В принципе, такие системы могут обеспечивать полноценный обмен данными только с себе подобными или совместимыми. Однако поддержка секций 0, 1, 7 и 8 все же позволяет причислять их к SCP-ECG устройствам.

COM компоненты для поддержки импорта–экспорта в стандарте SCP-ECG

Для поддержки стандарта SCP-ECG на уровне категории 3 в операционной системе Windows авторами статьи разработаны программные компоненты, выполненные по технологии Component Object Model (COM). Данная технология обеспечивает независимость от языка программирования, повторное использование кода и гибкое управление версиями программного обеспечения. Главным принципом этой архитектуры является требование поддержки компонентами определенных строго установленных наборов функций – интерфейсов. Для применения разработанных компонент необходимо создать приложение на языке программирования с поддержкой COM-технологии (практически все современные компиляторы для среды Windows). Реализация интерфейсов OLE Automation дополнительно позволяет интегрировать отдельные компоненты или всю систему с большим количеством уже существующих приложений, включая программы Excel и Word из пакета Microsoft Office

Разработаны следующие компоненты:

o        Компонент представления данных SCPECGData, обеспечивающий доступ к информации посредством функций COM-интерфейса. Параметрами функций являются структуры данных стандарта SCP-ECG.

o        Компонент кодирования и сжатия SCPECGCodec, преобразующий разнородные данные в единую последовательность секций согласно стандарту SCP-ECG, а также осуществляющий сжатие и контроль целостности информации.

o        Транспортный компонент SCPECGTransport, отвечающий за установление соединения, передачу информации и работу с физическим уровнем. В его качестве может выступать RS-232C с протоколом передачи XMODEM или дисковый файл.

o        Компонент-оболочка SCPECG для автоматизации инициализации и стыковки вышеперечисленных интерфейсов.

При инициализации компонента-оболочки SCPECG, последний связывает и настаивает внутренние компоненты SCPECGData, SCPECGCodec и SCPECGTransport. Компонента представления данных передаются уровень совместимости стандарта, подмножество информации для передачи, частота оцифровки и точность представления ЭКГ, настройка таблицы кодировки национального языка и т.д. Компонент кодирования и сжатие позволяет выбрать тип сжатия. Если выбран режим “высокой компрессии”, дополнительно необходимо передать данные о репрезентативном комплексе и опорные точки для ЭКГ. Для этого используется стандартный интерфейс IStream, делающий независимым от формата данных приложения представление информации. Транспортному компоненту передаются параметры соединения, источник и получатель информации. По окончании настройки, заполняется компонент SCPECGData в соответствии с секциями SCP-ECG, а затем переводится в режим передачи данных. Дальнейшее функционирование происходит в фоновом режиме. Нижележащий уровень кодирования и сжатия SCPECGCodec выполняет преобразование данных в последовательный поток. По окончании – вызывается функция передачи транспортного уровня. SCPECGTransport в фоновом режиме осуществляет установление соединения, контроль и передачу информации. После завершения или невозможности передачи, SCPECGData выставляет соответствующий флаг и вызывает заранее указанную функцию пользователя.

Прием данных компонентом SCPECGTransport также осуществляется в фоновом режиме. При успешном окончании, принятые данные направляются в вышележащий уровень - SCPECGCodec, где они декодируются. После декодирования данные передаются в объект SCPECGData, который заполняет свои структуры данных и вызывает пользовательскую функцию завершения. Приложение может получить интересующую его информацию из объекта SCPECGData.

Разделением реализации стандарта SCP-ECG на 3 компонента достигается гибкость в использовании и модификации. Например, возможно вносить дополнения в компонент кодирования и сжатия, не затрагивая другие, а заменой транспортного компонента обеспечить поддержку отличного от XMODEM транспортного протокола и абстрагироваться от реальной аппаратуры. Дальнейшее развитие описанной работы предусматривает разработку штатного компонента для классификации комплексов и синтеза репрезентативного комплекса, а так же поддержки маршрутизируемого протокола ТСР/IP (т.е. поддержка категорию совместимости 4 стандарта SCP-ECG).

Перспективы SCP-ECG

В документе ENV1064 неоднократно подчеркивается, что SCP-ECG в “чистом” виде, без дополнительных расширений предназначен для представления только обычных ЭКГ и не рассчитан для работы с длительными записями типа суточного (Холтеровского) мониторирования или различных нагрузочных проб. Это, безусловно, ограничение стандарта, которое может быть преодолено либо его официальной доработкой, либо, частично, разработкой и внедрением открытого корпоративного расширения одним из мировых лидеров в производстве Холтеровских и стресс–систем.

К недостаткам можно причислить и очень робкое движение в сторону использования маршрутизируемых сетевых протоколов — единственным атрибутом их поддержки являются поля с IP адресом аппарата для съема ЭКГ. Возможно, разработчики стандарта сочли, что производителям электрокардиографов будет очень накладна поддержка TCP/IP и ограничились поддержкой соединения точка–точка на уровне, определенном XMODEM, хотя и оставили возможность заменить протокол на любой другой. На данный момент, в связи с доступностью Internet и падением цен на программное обеспечение для поддержки TCP/IP и сервисов на его основе (FTP, HTTP), становится актуальной задача обмена ЭКГ по Всемирной Сети.

Сильной стороной стандарта является хорошая проработка вопроса представления самой ЭКГ — предусмотрен вариант разностного кодированием ЭКГ для получения максимального сжатия данных, что не исключает возможности сжатия ЭКГ без потерь на основе кодирования по Хафмену или любого другого алгоритма архивирования. Так же достаточно широко охвачен ряд вопросов по представлению данных измерений и заключений. Использование унифицированных закодированных заключений позволяет представить практически все необходимые типовые ЭКГ заключения.

Существуют промышленные компьютерные электрокардиографические системы, которые наряду со своими внутренними форматами представления поддерживают и SCP-ECG протокол. К примеру, Hewlett Packard в своей системе M1765A обеспечивает поддержку первого уровня совместимости с SCP-ECG.

Членами CEN являются национальные стандартизирующие организации Австрии, Англии, Бельгии, Дании, Финляндии, Франции, Германии, Греции, Исландии, Ирландии, Италии, Люксембурга, Нидерландов, Норвегии, Португалии, Испании, Швеции, Швейцарии. Соответственно, в этих странах уже приняты или еще согласовываются внутренние стандарты соответствующие SCP-ECG. Домашняя страница CEN/TC251 имеет Internet адрес www.centc251.org. Так же в Internet информацию о стандарте SCP-ECG возможно получить со страниц российской фирмы Медицинские Компьютерные Системы по адресам http://www.mks.ru/www.mks.ru и www.ecg.ru.

Табл. 4 Возможная последовательности обмена сообщениями между электрокардиографом и станцией обработки в соответствии с SCP-ECG

Электрокардиограф

Станция

Комментарий

идентификация устройства (I)

 

электрокардиограф посылает информацию о себе

 

идентификация устройства (I)

станция посылает информацию о себе

запрос на передачу ЭКГ (R)

 

электрокардиограф готов передать ЭКГ данные и сообщает об этом станции

 

статус (S)

подтверждение станцией готовности приема

Данные ЭКГ
(протокол SCP-ECG)

 

электрокардиограф посылает данные

 

информация (A)

станция передает на электрокардиограф текст "Идет распаковка данных"

 

информация (A)

станция передает на электрокардиограф текст "Текущее время принято за время проведения исследования"

 

статус (S)

подтверждение станцией правильности принятия данных ЭКГ

завершение обмена (D)

 

электрокардиограф передал все необходимые данные на центральную станцию

 

<завершение обмена (D)>

ответное, необязательное подтверждение центральной станцией завершения сессии обмена